import App from './App'

// // #ifndef VUE3
// import Vue from 'vue'
// import './uni.promisify.adaptor'
// Vue.config.productionTip = false
// App.mpType = 'app'
// const app = new Vue({
//   ...App
// })
// app.$mount()
// // #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
import * as Pinia from "pinia";
import { createUnistorage } from "./uni_modules/pinia-plugin-unistorage";

export function createApp() {
  const app = createSSRApp(App)

	const store = Pinia.createPinia();

	// 关键代码 👇
	store.use(createUnistorage());

	app.use(store);
  return {
    app,
	Pinia
  }
}
// #endif

// // // -------------新代码
// // import App from './App'

// // // #ifdef VUE3
// // import { createSSRApp } from 'vue'
// // import * as Pinia from "pinia";
// // import { createUnistorage } from "./uni_modules/pinia-plugin-unistorage";
// // import { useUserMemberStore } from "/stores/usermember";

// // import eventBus from '@/utils/eventBus'; // 引入全局事件中心

// // const app = createSSRApp(App);

// // const store = Pinia.createPinia();

// // // 关键代码 👇
// // store.use(createUnistorage());

// // app.use(store);

// // // 监听路由守卫事件
// // eventBus.$on('route-guard', async (to, next) => {
// //   const memberStore = useUserMemberStore();
// //   const isAuthenticated = memberStore.token !== "";

// //   if (to.meta.requiresAuth && isAuthenticated) {
// //     try {
// //       const { code } = await uni.request({
// //         url: "http://129.204.87.250:8080/jeecg-boot/moyunOrderInformation/moyunOrderInformation/selectAllOrder",
// //         method: "GET",
// //         header: {
// //           "X-Access-Token": memberStore.token,
// //         },
// //       });

// //       if (code === 401) {
// //         // 如果服务器返回token失效，重定向至登录页
// //         next('/pages/login/login');
// //       } else {
// //         // 如果服务器返回token有效，允许访问
// //         next(to.fullPath);
// //       }
// //     } catch (error) {
// //       // 如果请求失败（如网络问题、服务器错误等），出于安全考虑，重定向至登录页
// //       next('/pages/login/login');
// //     }
// //   } else {
// //     // 用户未登录或访问的页面无需登录，允许访问
// //     next(to.fullPath);
// //   }
// // });

// // return { app, Pinia };
// // // #endif
// // -----------二次修改代码
// import { createSSRApp } from 'vue'
// import * as Pinia from "pinia";
// import { createUnistorage } from "./uni_modules/pinia-plugin-unistorage";
// import { useUserMemberStore } from "/stores/usermember";

// export function createApp() {
//   const app = createSSRApp(App)

//   const store = Pinia.createPinia();
//   store.use(createUnistorage());

//   app.use(store);

//   // 在这里添加全局监听器
//   app.config.globalProperties.$watch(
//     () => useUserMemberStore().token,
//     async (newToken, oldToken) => {
//       if (newToken !== oldToken) {
//         try {
//           const { code } = await uni.request({
//             url: "http://129.204.87.250:8080/jeecg-boot/moyunOrderInformation/moyunOrderInformation/selectAllOrder",
//             method: "GET",
//             header: {
//               "X-Access-Token": newToken,
//             },
//           });

//           if (code === 401) {
//             // 如果服务器返回token失效，重定向至登录页
//             uni.navigateTo({
//               url: "/pages/login/login"
//             });
//           }
//         } catch (error) {
//           // 如果请求失败（如网络问题、服务器错误等），出于安全考虑，也可以重定向至登录页
//           uni.navigateTo({
//             url: "/pages/login/login"
//           });
//         }
//       }
//     }
//   );

//   return {
//     app,
//     Pinia
//   }
// }
